package com.fanghaoran.notes.service;

import com.fanghaoran.notes.bean.MyResult;
import com.fanghaoran.notes.entity.Cart;

import java.sql.SQLException;

/**
 * @Author: win11
 * @Date: 2023/04/22/14:05
 * @Description: 购物车service层
 */
public interface CartService {
    /**
     * 判断商品是否已存在购物车
     * @param uId 用户id
     * @param pId 商品id
     * @return 返回结果
     * @throws Exception 异常
     */
    MyResult hasCart(int uId, int pId) throws Exception;

    /**
     * 插入购物车数据
     * @param cart 购物车数据
     * @return 返回插入结果
     * @throws Exception 异常
     */
    MyResult addCart(Cart cart) throws Exception;

    /**
     * 更新购物车
     * @param cart 购物车数据
     * @return 返回更新结果
     * @throws SQLException 异常
     */
    MyResult updateCart(Cart cart) throws SQLException;

    /**
     * 展示购物车数据
     * @param uId 用户id
     * @return 返回展示数据
     * @throws Exception 异常
     */
    MyResult showCart(int uId) throws Exception;

    /**
     * 删除购物车数据
     * @param pId 商品id
     * @return 返回删除结果
     * @throws SQLException 异常
     */
    MyResult deleteCartByPid(int pId) throws SQLException;

    /**
     * 删除购物车数据
     * @param uId 用户id
     * @return 返回删除结果
     * @throws SQLException 异常
     */
    MyResult removeAllCart(int uId) throws SQLException;
}
